﻿using HiSport.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace HiSport.Application.Service.Transaction.Pay.Dtos
{
    public class PayInputDto
    {
        /// <summary>
        /// 订单编号
        /// </summary>
        public string OrderNum { get; set; }

        /// <summary>
        /// 支付二维码
        /// </summary>
        public string AuthCode { get; set; }

        /// <summary>
        /// 支付金额
        /// </summary>
        public decimal ActualPayAmount { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public PayTypeEnum PayType{ get; set; }
    }

    public class PayDto
    {
        /// <summary>
        /// 公众账号ID
        /// </summary>
        public string appid { get; set; }


        /// <summary>
        /// 商户号
        /// </summary>
        public string mch_id { get; set; }

        /// <summary>
        /// 随机字符串
        /// </summary>
        public string nonce_str { get; set; }

        /// <summary>
        /// 签名
        /// </summary>
        public string sign { get; set; }

        /// <summary>
        /// 商品描述
        /// </summary>
        public string body { get; set; }

        /// <summary>
        /// 商户订单号
        /// </summary>
        public string out_trade_no { get; set; }

      

        /// <summary>
        /// 订单金额
        /// </summary>
        public string total_fee { get; set; }

        /// <summary>
        /// 商户订单号
        /// </summary>
        public string spbill_create_ip { get; set; }

        /// <summary>
        /// 付款码
        /// </summary>
        public string auth_code { get; set; }
    }

    public class PayOutDto
    {
        /// <summary>
        /// 商户交易单号
        /// </summary>
        public string PayNo { get; set; }

        /// <summary>
        /// 支付状态
        /// 0.支付失败
        /// 1.支付成功
        /// 2.待查询
        /// </summary>
        public PayStateEnum PayState { get; set; }

        public OrderPayStateEnum OrderPayState { get; set; }

        public string Msg { get; set; }
    }
}
